%\documentclass{ctexart} 使用 ctex 字体
\documentclass[nofonts]{ctexart} % 不用 ctex 字体

\usepackage{xltxtra} % 让 xelatex 支持UTF
\usepackage{graphicx} % 图形库
\usepackage{amsmath} % AMS 的数学符号
\usepackage{amsfonts,amssymb}
\usepackage{geometry}
\usepackage{float}
\geometry{a4paper,scale=0.75}

% 自定义字体
% 如果使用 ctex 字体，注释掉以下部分.
\setCJKmainfont[
BoldFont={WenQuanYi Zen Hei:style=Regular},
ItalicFont={AR PL KaitiM GB:style=Regular}]
{AR PL UMing CN:style=Light}
\setCJKsansfont{WenQuanYi Zen Hei Sharp:style=Regular}
\setCJKmonofont{WenQuanYi Zen Hei Mono:style=Regular}

\usepackage{caption}
\usepackage{tikz}

\title{Navier-stokes}
\author{周川迪}

\begin{document}
\maketitle

\subsection{不可压缩流体的Navier-Stokes方程}

不可压缩流体的二维流场完全由速度矢量 $ q=(u(x,y),v(x,y))\in \mathbb{R}^2$ 和压力 $p(x,y) \in \mathbb{R}$ 描述.\cite{danaila2007introduction}这些函数是以下守恒定律的解（例如，参见Hirsch，1988）：
\begin{itemize}

\item[$\bullet$] 
质量守恒：
\begin{equation}\label{eq.math}
    div(q)=0,
\end{equation}
或者使用\emph{散度}\footnote{
回顾二维场的微分算子\emph{散度}、\emph{梯度}和\emph{拉普拉斯算子}的定义：如果 $v=(v_x,v_y):\mathbb{R}^2 \leftarrow \mathbb{R}^2 ,\ \phi:\mathbb{R}^2 \leftarrow \mathbb{R},\ $ 那么 $div(v)=\frac{\partial v_x}{\partial x} + \frac{\partial v_y}{\partial y},\ \mathcal{G}_\phi=(\frac{\partial v_x}{\partial x},\ \frac{\partial v_y}{\partial y}),\ \Delta\phi=div(\mathcal{G}_\phi)=\frac{\partial ^2\phi}{\partial x^2}+\frac{\partial ^2\phi}{\partial y^2},\ \Delta v=(\Delta v_x,\Delta v_y).$

}算子的显式形式编写，
\begin{equation}\label{eq.divergence}
     \frac{\partial u}{\partial x}+\frac{\partial v}{\partial y}=0
\end{equation}

\item[$\bullet$] 
紧致形式下的动量守恒方程\footnote{我们用 $\otimes$ 表示张量积.}:
\begin{equation}\label{eq.momentnum}
    \frac{\partial q}{\partial t}+div(q \otimes q)=\mathcal{G}p+\frac{1}{Re} \Delta q
\end{equation}
或者使用显式形式：
\begin{equation}\label{eq.momentnum}
    \left\{
    \begin{aligned}
        \frac{\partial u}{\partial t} + \frac{\partial u^2}{\partial x} + \frac{\partial uv}{\partial y} = -\frac{\partial p}{\partial x} + \frac{1}{Re}(\frac{\partial ^2u}{\partial x^2} + \frac{\partial ^2v}{\partial y^2}),   \\
        \frac{\partial v}{\partial t} + \frac{\partial uv}{\partial x} + \frac{\partial v^2}{\partial y} = -\frac{\partial p}{\partial p} + \frac{1}{Re}(\frac{\partial ^2v}{\partial x^2} + \frac{\partial ^2u}{\partial y^2}).
    \end{aligned}
    \right.
\end{equation}

\end{itemize}

前面的方程以无量纲形式编写，使用以下缩放变量：
\begin{equation}\label{eq.scaled}
    x=\frac{x^*}{L},\ y=\frac{y^*}{L},\ u=\frac{u^*}{V_0},\ v=\frac{v^*}{L},\ t=\frac{t^*}{L/V_0},\ u=\frac{u^*}{\rho_0V_0^2},\
\end{equation}
其中上标（$*$）表示以物理单位测量的变量.常数$L$, $V_0$分别是表征模拟流动的参考长度和速度.无量纲数$Re$称为雷诺数，量化了惯性（或对流）项和粘性（或扩散）\footnote{描述对流和扩散现象的模型标量方程在第一章中进行了讨论.}项在流动中的相对重要性：
\begin{equation}\label{eq.Re}
    Re=\frac{V_0L}{\nu}
\end{equation}
其中$\nu$是流动的运动粘度.

总之，将在本项目中数值求解的偏微分方程的Navier-Stokes系统由（12.2）和（12.4）定义；初始条件（在$t=0$处）和边界条件将在后面章节中讨论.

\subsection{计算域、交错网格和边界条件}

通过考虑处处具有周期性边界条件的矩形域$L_x \times L_y$（见图\ref{fig:primary}），数值求解Navier–Stokes方程得到了显著简化.速度场$q(x,y)$和压力场$p(x,y)$的周期性在数学上表示为
\begin{equation}\label{eq.period1}
    q(0,y)=q(L_x,y),\ p(0,y)=p(L_x,y),\ \forall y \in [0,L_y],
\end{equation}
\begin{equation}\label{eq.period2}
    q(x,0)=q(x,L_y),\ p(x,0)=p(x,L_y),\ \forall x \in [0,L_x].
\end{equation}
计算解的点分布在二维矩形均匀网格的区域中.由于在我们的方法中，并非所有变量都共享相同的网格，因此我们首先定义了一个\emph{主网格}（见图\ref{fig:primary}），该网格通过分别取沿$x$轴的$n_x$个计算点和沿$y$轴的$n_y$个计算点生成：
\begin{equation}\label{eq.primary1}
    x_c(i)=(i-1)\delta x,\ \delta x=\frac{L_x}{n_x-1},\ i=1,...,n_x,
\end{equation}
\begin{equation}\label{eq.primary1}
    y_c(j)=(j-1)\delta y,\ \delta y=\frac{L_y}{n_y-1},\ j=1,...,n_y,
\end{equation}

\begin{figure}[h!]
    \centering
        \begin{tikzpicture}[scale=1.8]
    
        \draw (0,0) -- (0,3) -- (4,3) -- (4,0) -- (0,0);
        \draw (4.1,0) -- (4.1,3) -- (8.1,3) -- (8.1,0) -- (4.1,0);
        \draw (0.5,2.6) -- (0.5,0.4) -- (3.5,0.4);
        \draw[red, thick] (0.51,2.6) -- (0.51,0.41) -- (2.71,0.41) -- (2.71,2.6) -- (0.5,2.6);
        \draw[<->,>=stealth,ultra thick] (0.5,1.5) -- (1.0,1.5);
        \draw[<->,>=stealth,ultra thick] (2.45,1.5) -- (2.95,1.5);
        \draw[<->,>=stealth,ultra thick] (1.6,0.4) -- (1.6,0.9);
        \draw[<->,>=stealth,ultra thick] (1.6,2.6) -- (1.6,2.1);
    
        \draw (0.5,0.4) node[left] {$0$};
        \draw (0.5,0.4) node[below] {$0$};
        \draw (0.5,1.5) node[left] {\rotatebox{90}{$Y$}};
        \draw (2.0,0.4) node[below] {$X$};
        \draw (0.5,2.6) node[above] {$L_y$};
        \draw (3.0,0.4) node[above] {$L_x$};
        \draw (2.12,0.55) node[above] {periodicity};
        \draw (3.27,1.55) node[above] {periodicity};
        \draw (2.12,2.25) node[above] {periodicity};
        \draw (1.12,1.55) node[above] {periodicity};

        \draw (4.9,2.6) -- (4.9,0.8) -- (7.5,0.8);
        \draw[green!75!black] (4.9,2.6) -- (6.7,2.6) -- (6.7,0.8);
        \draw[green!75!black] (4.9,2.0) -- (6.7,2.0);
        \draw[green!75!black] (4.9,1.4) -- (6.7,1.4);
        \draw[green!75!black] (6.1,2.6) -- (6.1,0.8);
        \draw[green!75!black] (5.5,2.6) -- (5.5,0.8);
        \draw[dashed] (4.9,1.7) -- (6.7,1.7);
        \draw[dashed] (5.8,0.8) -- (5.8,2.6);
    
        \draw (4.9,0.8) node[left] {$0$};
        \draw (4.9,0.8) node[below] {$0$};
        \draw (7.3,0.8) node[above] {$L_x$};
        \draw (7.5,0.8) node[below] {$X$};
        \draw (4.9,2.6) node[left] {\rotatebox{90}{$Y$}};
        \draw (4.9,2.6) node[above] {$L_y$};
        \draw (5.05,2.0) node[left] {$y_c(j+1)$};
        \draw (4.9,1.7) node[left] {$y_m(j)$};
        \draw (4.9,1.4) node[left] {$y_c(j)$};
        \draw (5.5,0.8) node[below] {\rotatebox{90}{$x_c(i)$}};
        \draw (5.8,0.8) node[below] {\rotatebox{90}{$x_m(i)$}};
        \draw (6.1,0.95) node[below] {\rotatebox{90}{$x_c(i+1)$}};
        \draw (5.8,1.7) node[above right] {$p(i,j)$};
        \draw (5.5,1.7) node[above] {$u(i,j)$};
        \draw (5.8,1.4) node[below right] {$v(i,j)$};
        \fill[black] (5.8,1.7) circle(0.8pt);
        \fill[black] (5.5,1.7) circle(0.8pt);
        \fill[black] (5.8,1.4) circle(0.8pt);
    
    \end{tikzpicture}
    \caption{计算域、交错网格和边界条件.} % 图像标题
    \label{fig:primary} 
\end{figure}

次网格由主网格单元的中心定义：
\begin{equation}\label{eq.primary1}
    x_m(i)=(i-1/2)\delta x,\ i=1,...,n_x,
\end{equation}
\begin{equation}\label{eq.primary1}
    y_m(j)=(j-1/2)\delta y,\ j=1,...,n_y,
\end{equation}
其中我们使用了缩写符号$n_{xm}=n_x−1,n_{ym}=n_y−1$.在定义为矩形$[x_c(i),x_c(i+1)]×[y_c(j),y_c(j+1)]$的计算单元内，未知变量$u,v,p$将被计算为不同空间位置的解的近似值：
\begin{itemize}
\item[$\bullet$] $u(i,j) \approx u(x_c(i),y_m(j))$ （单元格左侧）
\item[$\bullet$] $v(i,j) \approx v(x_m(i),y_c(j))$ （单元格下侧）
\item[$\bullet$] $p(i,j) \approx p(x_m(i),y_m(j))$ （单元格中心）
\end{itemize}
变量的这种交错排列具有压力和速度之间强耦合的优点.这也有助于（参见本章末尾的参考文献）避免并置排列（其中所有变量都在相同的网格点计算）所遇到的一些稳定性和收敛性问题.

\newpage

\bibliographystyle{unsrt}
\bibliography{references}

\end{document}